/*
 * Maximum Path Sum II Solution.
 */

package Graph;

/**
 * An interface for graphs.
 * 
 * @author Michael Silva
 */

public interface Graph {
    
    /**
     * Add a vertex to the graph.
     * 
     * @param <code>Vertex</code> to add.
     */
    public void addVertex(Vertex v);
    
    /**
     * Add an edge between the given vertices.
     * 
     * @param Vertex
     * @param Vertex
     */
    public void addEdge(Vertex u, Vertex v);
    
    /**
     * Get the <code>Vertex</code> stored at the given index.
     * 
     * @param index Index of the requested Vertex
     */
    public Vertex getVertex(int index);
}
